package com.zrkizzy.seckill.config.context;

import com.zrkizzy.seckill.entity.User;

/**
 * 用户上下文
 *
 * @author zhangrongkang
 * @since 2023/4/12
 */
public class UserContext {

    private static final ThreadLocal<User> USER_HOLDER = new ThreadLocal<>();

    /**
     * 设置上下文中User对象的值
     *
     * @param user 用户对象
     */
    public static void setUserHolder(User user) {
        USER_HOLDER.set(user);
    }

    /**
     * 获取用户对象
     *
     * @return 用户对象
     */
    public static User getUser() {
        return USER_HOLDER.get();
    }

    /**
     * 清空用户上下文中的数据
     */
    public static void removeUser() {
        USER_HOLDER.remove();
    }
}
